package com.aviatorscript.avitorscriptmust.dto;

import lombok.Data;
import lombok.experimental.Accessors;

// 注释掉校验注解，避免依赖问题，可以在Controller层手动校验
// import jakarta.validation.constraints.NotBlank;
// import jakarta.validation.constraints.NotNull;

/**
 * 校验配置DTO（用于CRUD操作）
 *
 * @author system
 */
@Data
@Accessors(chain = true)
public class ValidationConfigDTO {
    
    /**
     * 主键ID（更新时需要）
     */
    private Long id;
    
    /**
     * 规则名称
     */
    // @NotBlank(message = "规则名称不能为空")
    private String ruleName;
    
    /**
     * 应用的类名
     */
    // @NotBlank(message = "类名不能为空")
    private String className;
    
    /**
     * 字段路径
     */
    // @NotBlank(message = "字段路径不能为空")
    private String fieldPath;
    
    /**
     * AviatorScript校验脚本内容
     */
    // @NotBlank(message = "脚本内容不能为空")
    private String scriptContent;
    
    /**
     * 脚本版本号
     */
    private String scriptVersion = "v1.0";
    
    /**
     * 规则描述
     */
    private String description;
    
    /**
     * 校验失败时的错误信息
     */
    // @NotBlank(message = "错误信息不能为空")
    private String errorMessage;
    
    /**
     * 执行优先级
     */
    // @NotNull(message = "优先级不能为空")
    private Integer priority = 100;
    
    /**
     * 状态：1=启用，0=禁用
     */
    private Integer status = 1;
    
    /**
     * 创建人
     */
    private String creator;
} 